package exception

import "errors"

var (
	ErrInvalidEmail                           = errors.New("invalid/email")
	ErrEmailFailed                            = errors.New("email/failed")
	ErrDuplicateEmail                         = errors.New("email/both_emails_cannot_be_same")
	ErrOnlyOneAdminAccount                    = errors.New("admin/only_one_admin_account_found")
	ErrAuthFail                               = errors.New("auth/fail")
	ErrJSONInvalid                            = errors.New("json_invalid")
	ErrAuthProviderNotSpecified               = errors.New("auth/provider_not_specified")
	ErrEnvNotFoundKeyAuthProviders            = errors.New("\"VITE_ALLOWED_AUTH_PROVIDERS\" is not present in .env file")
	ErrEnvEmptyAuthProviders                  = errors.New("\"VITE_ALLOWED_AUTH_PROVIDERS\" is empty in .env file")
	ErrEnvNotSupportAuthProviders             = errors.New("\"VITE_ALLOWED_AUTH_PROVIDERS\" contains an unsupported auth provider in .env file")
	ErrUserFBDocumentDeletionFailed           = errors.New("fb/firebase_document_deletion_failed")
	ErrUserNotFound                           = errors.New("user/not_found")
	ErrUserAlreadyInvited                     = errors.New("admin/user_already_invited")
	ErrUserUpdateFailed                       = errors.New("user/update_failed")
	ErrUserDeletionFailed                     = errors.New("user/deletion_failed")
	ErrUsersNotFound                          = errors.New("user/users_not_found")
	ErrUserIsOwner                            = errors.New("user/is_owner")
	ErrUserIsAdmin                            = errors.New("user/is_admin")
	ErrTeamsNotFound                          = errors.New("user/teams_not_found")
	ErrUserCollectionNotFound                 = errors.New("user_collection/not_found")
	ErrUserRequestCreationFailed              = errors.New("user_request/creation_failed")
	ErrUserRequestInvalidType                 = errors.New("user_request/type_mismatch")
	ErrUserRequestNotFound                    = errors.New("user_request/not_found")
	ErrUserRequestReorderingFailed            = errors.New("user_request/reordering_failed")
	ErrTeamMemberNotFound                     = errors.New("team/member_not_found")
	ErrTeamNotRequiredRole                    = errors.New("team/not_required_role")
	ErrTeamNameInvalid                        = errors.New("team/name_invalid")
	ErrTeamUserNoFBSyncData                   = errors.New("team/user_no_fb_syncdata")
	ErrTeamFBCollPathResolveFail              = errors.New("team/fb_coll_path_resolve_fail")
	ErrTeamCollNotFound                       = errors.New("team_coll/collection_not_found")
	ErrTeamCollIsParentColl                   = errors.New("team_coll/collection_is_parent_coll")
	ErrTeamCollNotSameTeam                    = errors.New("team_coll/collections_not_same_team")
	ErrTeamCollDestSame                       = errors.New("team_coll/target_and_destination_collection_are_same")
	ErrTeamColAlreadyRoot                     = errors.New("team_coll/target_collection_is_already_root_collection")
	ErrTeamColNotSameParent                   = errors.New("team_coll/team_collections_have_different_parents")
	ErrTeamColSameNextColl                    = errors.New("team_coll/collection_and_next_collection_are_same")
	ErrTeamColReorderingFailed                = errors.New("team_coll/reordering_failed")
	ErrTeamOnlyOneOwner                       = errors.New("team/only_one_owner")
	ErrTeamInvalidID                          = errors.New("team/invalid_id")
	ErrTeamInvalidCollID                      = errors.New("team/invalid_coll_id")
	ErrTeamInvalidIDOrUser                    = errors.New("team/invalid_id_or_user")
	ErrTeamCollShortTitle                     = errors.New("team_coll/short_title")
	ErrTeamCollInvalidJSON                    = errors.New("team_coll/invalid_json")
	ErrTeamNotOwner                           = errors.New("team_coll/team_not_owner")
	ErrTeamReqNotRequiredRole                 = errors.New("team_req/not_required_role")
	ErrTeamReqNotFound                        = errors.New("team_req/not_found")
	ErrTeamReqInvalidTargetCollID             = errors.New("team_req/invalid_target_id")
	ErrTeamReqReorderingFailed                = errors.New("team_req/reordering_failed")
	ErrSenderEmailInvalid                     = errors.New("mailer/sender_email_invalid")
	ErrTeamReqNotMember                       = errors.New("team_req/not_member")
	ErrTeamInviteMemberHasInvite              = errors.New("team_invite/member_has_invite")
	ErrTeamInviteNoInviteFound                = errors.New("team_invite/no_invite_found")
	ErrTeamInviteAlreadyMember                = errors.New("team_invite/already_member")
	ErrTeamInviteEmailDoNotMatch              = errors.New("team_invite/email_do_not_match")
	ErrTeamInviteNotValidViewer               = errors.New("team_invite/not_valid_viewer")
	ErrTeamInvitationNotFound                 = errors.New("team_invite/invitations_not_found")
	ErrShortcodeNotFound                      = errors.New("shortcode/not_found")
	ErrShortcodeInvalidJSON                   = errors.New("shortcode/invalid_json")
	ErrShortcodeAlreadyExists                 = errors.New("shortcode/already_exists")
	ErrTeamEnvironmentNotFound                = errors.New("team_environment/not_found")
	ErrTeamEnvironmentShortName               = errors.New("team_environment/short_name")
	ErrTeamEnvironmentNotTeamMember           = errors.New("team_environment/not_team_member")
	ErrUserSettingsNotFound                   = errors.New("user_settings/not_found")
	ErrUserSettingsAlreadyExists              = errors.New("user_settings/settings_already_exists")
	ErrUserSettingsNullSettings               = errors.New("user_settings/null_settings")
	ErrUserEnvironmentGlobalEnvDoesNotExists  = errors.New("user_environment/global_env_does_not_exists")
	ErrUserEnvironmentGlobalEnvExists         = errors.New("user_environment/global_env_already_exists")
	ErrUserEnvironmentEnvDoesNotExists        = errors.New("user_environment/user_env_does_not_exists")
	ErrUserEnvironmentGlobalEnvDeletionFailed = errors.New("user_environment/user_env_global_env_deletion_failed")
	ErrUserEnvironmentIsNotGlobal             = errors.New("user_environment/user_env_is_not_global")
	ErrUserEnvironmentUpdateFailed            = errors.New("user_environment/user_env_update_failed")
	ErrUserEnvironmentInvalidEnvironmentName  = errors.New("user_environment/user_env_invalid_env_name")
	ErrUserHistoryNotFound                    = errors.New("user_history/history_not_found")
	ErrUserHistoryInvalidReqType              = errors.New("user_history/req_type_invalid")
	ErrBugAuthNoUserCtx                       = errors.New("bug/auth/auth_no_user_ctx")
	ErrBugTeamNoTeamID                        = errors.New("bug/team/no_team_id")
	ErrBugTeamNoRequireTeamRole               = errors.New("bug/team/no_require_team_role")
	ErrBugTeamCollNoCollID                    = errors.New("bug/team_coll/no_coll_id")
	ErrBugTeamReqNoReqID                      = errors.New("bug/team_req/no_req_id")
	ErrBugTeamInviteNoInviteID                = errors.New("bug/team_invite/no_invite_id")
	ErrBugTeamEnvGuardNoRequireRoles          = errors.New("bug/team_env/guard_no_require_roles")
	ErrBugTeamEnvGuardNoEnvID                 = errors.New("bug/team_env/guard_no_env_id")
	ErrInvalidMagicLinkData                   = errors.New("auth/magic_link_invalid_data")
	ErrVerificationTokenDataNotFound          = errors.New("auth/verification_token_data_not_found")
	ErrTokenExpired                           = errors.New("auth/token_expired")
	ErrMagicLinkExpired                       = errors.New("auth/magic_link_expired")
	ErrCookiesNotFound                        = errors.New("auth/cookies_not_found")
	ErrInvalidAccessToken                     = errors.New("auth/invalid_access_token")
	ErrInvalidRefreshToken                    = errors.New("auth/invalid_refresh_token")
	ErrUserCollShortTitle                     = errors.New("user_coll/short_title")
	ErrUserCollNotFound                       = errors.New("user_coll/not_found")
	ErrUserCollAlreadyRoot                    = errors.New("user_coll/target_user_collection_is_already_root_user_collection")
	ErrUserCollDestSame                       = errors.New("user_coll/target_and_destination_user_collection_are_same")
	ErrUserCollNotSameUser                    = errors.New("user_coll/not_same_user")
	ErrUserCollNotSameType                    = errors.New("user_coll/type_mismatch")
	ErrUserCollIsParentColl                   = errors.New("user_coll/user_collection_is_parent_coll")
	ErrUserCollReorderingFailed               = errors.New("user_coll/reordering_failed")
	ErrUserCollSameNextColl                   = errors.New("user_coll/user_collection_and_next_user_collection_are_same")
	ErrUserNotOwner                           = errors.New("user_coll/user_not_owner")
	ErrUserCollInvalidJSON                    = errors.New("user_coll/invalid_json")
	ErrMailerSMTPUrlUndefined                 = errors.New("mailer/smtp_url_undefined")
	ErrMailerFromAddressUndefined             = errors.New("mailer/from_address_undefined")
)
